package com.wkbb.sports.utils;

import com.alibaba.fastjson.JSON;
import com.google.common.collect.Maps;
import org.apache.commons.lang3.StringUtils;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;

/**
 * @author lbh
 * 该类根据时间得出当月共有几周，所有周的分别的时间范围
 */
@RestController
@RequestMapping("/weekUtil")
public class WeekUtil {
	
//	@Autowired
//	private static SystemService systemService;

	public static void main(String[] args) throws ParseException {
		Map<Integer,Object> map=getWeek("2021-02","1");
		System.out.println("======JSON.toJSONString(map)=======:"+ JSON.toJSONString(map));
		int date=Integer.parseInt(String.valueOf(map.get(1)));
		System.out.println("======date=======:"+ date);
		//Collection value= map.values();
		/*List valueList= Arrays.asList(map.values().toArray());
		System.out.println("======JSON.toJSONString(valueList)=======:"+ JSON.toJSONString(valueList));
		System.out.println("======valueList.size()=======:"+ valueList.size());
		if(!CollectionUtils.isEmpty(valueList)){
		}

		String date="";
		for (int i=0;i<valueList.size();i++){
			if(i==0){
				date=String.valueOf(valueList.get(i)).split(" ")[0];
			}

			if(i==valueList.size()-1){
				date+="-";
				date+=String.valueOf(valueList.get(i)).split(" ")[1];
			}
		};
		System.out.println("======date=======:"+ date);*/
		WeekUtil a = new WeekUtil();
		Map<String,Object> map1 = new HashMap();
		map1.put("startDate", "2020-11-27");
		map1.put("endDate", "2021-05-27");
		System.out.println(a.doDateByStatisticsType("week",map1));

	}
	
	@RequestMapping(value="getWeek",method=RequestMethod.POST)
	@ResponseBody
	public static Map<Integer,Object>  getWeek(@RequestParam String time,String flag){//"2018-04"
		String day="-01";
		String time1=time+day;//初始化为每个月的1号："2018-04-01"
		//数据库实现失败
		/*String sql="select (dayofweek('"+time1+"')-1) as aa from dual";//0星期日、1星期一、2星期二、3星期三、4星期四、5星期五、6星期六
		Map<String,Object> timeMap = systemService.findOneForJdbc(sql);       
		Integer firstDay=Integer.parseInt((String) timeMap.get("aa"));*/
		
		//选用java实现
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
		Calendar cal = Calendar.getInstance(); // 获得一个日历
        Date date = null;
        try {
        	date = sdf.parse(time1);
        	cal.setTime(date);
        } catch (Exception e) {
            e.printStackTrace();
        }
        Integer firstDay = cal.get(Calendar.DAY_OF_WEEK) - 1; // 指示一个星期中的某天。//0星期日、1星期一、2星期二、3星期三、4星期四、5星期五、6星期六
        
		//Integer firstDay=5;
		int year=Integer.parseInt(time.split("-")[0]);//年份 
		String month=time.split("-")[1];//月份
		int count=0;//该月总共有几周
		String beginAndend1="";//本月第一周的开始和结束时间
		String beginAndend2="";//本月第二周的开始和结束时间
		String beginAndend3="";//本月第三周的开始和结束时间
		String beginAndend4="";//本月第四周的开始和结束时间
		String beginAndend5="";//本月第五周的开始和结束时间
		String beginAndend6="";//本月第六周的结束时间【一个月最多有六周(月头是周日，月末是周一)】
		
		Map<Integer,Object> map=new HashMap<Integer,Object>();
		
		//=================================如果月份的第一天是星期日====================
		if(firstDay==0){//如果月份的第一天是星期日
			switch (month) {
				case "01"://一月份
					count=6;
					beginAndend1=time+"-01 "+time+"-01";// 第一周的起止时间
					beginAndend2=time+"-02 "+time+"-08";// 第二周的起止时间
					beginAndend3=time+"-09 "+time+"-15";// 第三周的起止时间
					beginAndend4=time+"-16 "+time+"-22";// 第四周的起止时间
					beginAndend5=time+"-23 "+time+"-29";// 第五周的起止时间
					beginAndend6=time+"-30 "+time+"-31";// 第六周的起止时间
					break;
					
				case "02"://二月份
					if((year%100==0 && year%400==0) || (year%100!=0 && year%4==0)){//闰年29天
						count=5;
						beginAndend1=time+"-01 "+time+"-01";//二月份第一周的起止时间
						beginAndend2=time+"-02 "+time+"-08";//二月份第二周的起止时间
						beginAndend3=time+"-09 "+time+"-15";//二月份第三周的起止时间
						beginAndend4=time+"-16 "+time+"-22";//二月份第四周的起止时间
						beginAndend5=time+"-23 "+time+"-29";//二月份第五周的起止时间
						break;
					}else{//平年28天
						count=5;
						beginAndend1=time+"-01 "+time+"-01";//二月份第一周的起止时间
						beginAndend2=time+"-02 "+time+"-08";//二月份第二周的起止时间
						beginAndend3=time+"-09 "+time+"-15";//二月份第三周的起止时间
						beginAndend4=time+"-16 "+time+"-22";//二月份第四周的起止时间
						beginAndend5=time+"-23 "+time+"-28";//二月份第五周的起止时间
						break;
					}
					
				case "03"://三月份
					count=6;
					beginAndend1=time+"-01 "+time+"-01";//三月份第一周的起止时间
					beginAndend2=time+"-02 "+time+"-08";//三月份第二周的起止时间
					beginAndend3=time+"-09 "+time+"-15";//三月份第三周的起止时间
					beginAndend4=time+"-16 "+time+"-22";//三月份第四周的起止时间
					beginAndend5=time+"-23 "+time+"-29";//三月份第五周的起止时间
					beginAndend6=time+"-30 "+time+"-31";//三月份第六周的起止时间
					break;
					
				case "04"://四月份
					count=6;
					beginAndend1=time+"-01 "+time+"-01";//四月份第一周的起止时间
					beginAndend2=time+"-02 "+time+"-08";//四月份第二周的起止时间
					beginAndend3=time+"-09 "+time+"-15";//四月份第三周的起止时间
					beginAndend4=time+"-16 "+time+"-22";//四月份第四周的起止时间
					beginAndend5=time+"-23 "+time+"-29";//四月份第五周的起止时间
					beginAndend6=time+"-30 "+time+"-30";//四月份第六周的起止时间
					break;
					
				case "05"://五月份
					count=6;
					beginAndend1=time+"-01 "+time+"-01";//五月份第一周的起止时间
					beginAndend2=time+"-02 "+time+"-08";//五月份第二周的起止时间
					beginAndend3=time+"-09 "+time+"-15";//五月份第三周的起止时间
					beginAndend4=time+"-16 "+time+"-22";//五月份第四周的起止时间
					beginAndend5=time+"-23 "+time+"-29";//五月份第五周的起止时间
					beginAndend6=time+"-30 "+time+"-31";//五月份第六周的起止时间
					break;
					
				case "06"://六月份
					count=6;
					beginAndend1=time+"-01 "+time+"-01";//六月份第一周的起止时间
					beginAndend2=time+"-02 "+time+"-08";//六月份第二周的起止时间
					beginAndend3=time+"-09 "+time+"-15";//六月份第三周的起止时间
					beginAndend4=time+"-16 "+time+"-22";//六月份第四周的起止时间
					beginAndend5=time+"-23 "+time+"-29";//六月份第五周的起止时间
					beginAndend6=time+"-30 "+time+"-30";//六月份第六周的起止时间
					break;
					
				case "07"://七月份
					count=6;
					beginAndend1=time+"-01 "+time+"-01";//七月份第一周的起止时间
					beginAndend2=time+"-02 "+time+"-08";//七月份第二周的起止时间
					beginAndend3=time+"-09 "+time+"-15";//七月份第三周的起止时间
					beginAndend4=time+"-16 "+time+"-22";//七月份第四周的起止时间
					beginAndend5=time+"-23 "+time+"-29";//七月份第五周的起止时间
					beginAndend6=time+"-30 "+time+"-31";//七月份第六周的起止时间
					break;
					
				case "08"://八月份
					count=6;
					beginAndend1=time+"-01 "+time+"-01";//八月份第一周的起止时间
					beginAndend2=time+"-02 "+time+"-08";//八月份第二周的起止时间
					beginAndend3=time+"-09 "+time+"-15";//八月份第三周的起止时间
					beginAndend4=time+"-16 "+time+"-22";//八月份第四周的起止时间
					beginAndend5=time+"-23 "+time+"-29";//八月份第五周的起止时间
					beginAndend6=time+"-30 "+time+"-31";//八月份第六周的起止时间
					break;
					
				case "09"://九月份
					count=6;
					beginAndend1=time+"-01 "+time+"-01";//九月份第一周的起止时间
					beginAndend2=time+"-02 "+time+"-08";//九月份第二周的起止时间
					beginAndend3=time+"-09 "+time+"-15";//九月份第三周的起止时间
					beginAndend4=time+"-16 "+time+"-22";//九月份第四周的起止时间
					beginAndend5=time+"-23 "+time+"-29";//九月份第五周的起止时间
					beginAndend6=time+"-30 "+time+"-30";//九月份第六周的起止时间
					break;
					
				case "10"://十月份
					count=6;
					beginAndend1=time+"-01 "+time+"-01";//十月份第一周的起止时间
					beginAndend2=time+"-02 "+time+"-08";//十月份第二周的起止时间
					beginAndend3=time+"-09 "+time+"-15";//十月份第三周的起止时间
					beginAndend4=time+"-16 "+time+"-22";//十月份第四周的起止时间
					beginAndend5=time+"-23 "+time+"-29";//十月份第五周的起止时间
					beginAndend6=time+"-30 "+time+"-31";//十月份第六周的起止时间
					break;
					
				case "11"://十一月份
					count=6;
					beginAndend1=time+"-01 "+time+"-01";//十 第一周的起止时间
					beginAndend2=time+"-02 "+time+"-08";//十 第二周的起止时间
					beginAndend3=time+"-09 "+time+"-15";//十 第三周的起止时间
					beginAndend4=time+"-16 "+time+"-22";//十 第四周的起止时间
					beginAndend5=time+"-23 "+time+"-29";//十 第五周的起止时间
					beginAndend6=time+"-30 "+time+"-30";//十 第六周的起止时间
					break;
					
				case "12"://十二月份
					count=6;
					beginAndend1=time+"-01 "+time+"-01";//十二月份第一周的起止时间
					beginAndend2=time+"-02 "+time+"-08";//十二月份第二周的起止时间
					beginAndend3=time+"-09 "+time+"-15";//十二月份第三周的起止时间
					beginAndend4=time+"-16 "+time+"-22";//十二月份第四周的起止时间
					beginAndend5=time+"-23 "+time+"-29";//十二月份第五周的起止时间
					beginAndend6=time+"-30 "+time+"-31";//十二月份第六周的起止时间
					break;
				default:
					break;
			}
		}
		
		//=================================如果月份的第一天是星期一====================
				if(firstDay==1){//如果月份的第一天是星期一
					switch (month) {
						case "01"://一月份
							count=5;
							beginAndend1=time+"-01 "+time+"-07";// 第一周的起止时间
							beginAndend2=time+"-08 "+time+"-14";// 第二周的起止时间
							beginAndend3=time+"-15 "+time+"-21";// 第三周的起止时间
							beginAndend4=time+"-22 "+time+"-28";// 第四周的起止时间
							beginAndend5=time+"-29 "+time+"-31";// 第五周的起止时间
							break;
							
						case "02"://二月份
							if((year%100==0 && year%400==0) || (year%100!=0 && year%4==0)){//闰年29天
								count=5;
								beginAndend1=time+"-01 "+time+"-07";//二月份第一周的起止时间
								beginAndend2=time+"-08 "+time+"-14";//二月份第二周的起止时间
								beginAndend3=time+"-15 "+time+"-21";//二月份第三周的起止时间
								beginAndend4=time+"-22 "+time+"-28";//二月份第四周的起止时间
								beginAndend5=time+"-29 "+time+"-29";//二月份第五周的起止时间
								break;
							}else{//平年28天
								count=4;
								beginAndend1=time+"-01 "+time+"-07";//二月份第一周的起止时间
								beginAndend2=time+"-08 "+time+"-14";//二月份第二周的起止时间
								beginAndend3=time+"-15 "+time+"-21";//二月份第三周的起止时间
								beginAndend4=time+"-22 "+time+"-28";//二月份第四周的起止时间
								break;
							}
							
						case "03"://三月份
							count=5;
							beginAndend1=time+"-01 "+time+"-07";// 第一周的起止时间
							beginAndend2=time+"-08 "+time+"-14";// 第二周的起止时间
							beginAndend3=time+"-15 "+time+"-21";// 第三周的起止时间
							beginAndend4=time+"-22 "+time+"-28";// 第四周的起止时间
							beginAndend5=time+"-29 "+time+"-31";// 第五周的起止时间
							break;
							
						case "04"://四月份
							count=5;
							beginAndend1=time+"-01 "+time+"-07";// 第一周的起止时间
							beginAndend2=time+"-08 "+time+"-14";// 第二周的起止时间
							beginAndend3=time+"-15 "+time+"-21";// 第三周的起止时间
							beginAndend4=time+"-22 "+time+"-28";// 第四周的起止时间
							beginAndend5=time+"-29 "+time+"-30";// 第五周的起止时间
							break;
							
						case "05"://五月份
							count=5;
							beginAndend1=time+"-01 "+time+"-07";// 第一周的起止时间
							beginAndend2=time+"-08 "+time+"-14";// 第二周的起止时间
							beginAndend3=time+"-15 "+time+"-21";// 第三周的起止时间
							beginAndend4=time+"-22 "+time+"-28";// 第四周的起止时间
							beginAndend5=time+"-29 "+time+"-31";// 第五周的起止时间
							break;
							
						case "06"://六月份
							count=5;
							beginAndend1=time+"-01 "+time+"-07";// 第一周的起止时间
							beginAndend2=time+"-08 "+time+"-14";// 第二周的起止时间
							beginAndend3=time+"-15 "+time+"-21";// 第三周的起止时间
							beginAndend4=time+"-22 "+time+"-28";// 第四周的起止时间
							beginAndend5=time+"-29 "+time+"-30";// 第五周的起止时间
							break;
							
						case "07"://七月份
							count=5;
							beginAndend1=time+"-01 "+time+"-07";// 第一周的起止时间
							beginAndend2=time+"-08 "+time+"-14";// 第二周的起止时间
							beginAndend3=time+"-15 "+time+"-21";// 第三周的起止时间
							beginAndend4=time+"-22 "+time+"-28";// 第四周的起止时间
							beginAndend5=time+"-29 "+time+"-31";// 第五周的起止时间
							break;
							
						case "08"://八月份
							count=5;
							beginAndend1=time+"-01 "+time+"-07";// 第一周的起止时间
							beginAndend2=time+"-08 "+time+"-14";// 第二周的起止时间
							beginAndend3=time+"-15 "+time+"-21";// 第三周的起止时间
							beginAndend4=time+"-22 "+time+"-28";// 第四周的起止时间
							beginAndend5=time+"-29 "+time+"-31";// 第五周的起止时间
							break;
							
						case "09"://九月份
							count=5;
							beginAndend1=time+"-01 "+time+"-07";// 第一周的起止时间
							beginAndend2=time+"-08 "+time+"-14";// 第二周的起止时间
							beginAndend3=time+"-15 "+time+"-21";// 第三周的起止时间
							beginAndend4=time+"-22 "+time+"-28";// 第四周的起止时间
							beginAndend5=time+"-29 "+time+"-30";// 第五周的起止时间
							break;
							
						case "10"://十月份
							count=5;
							beginAndend1=time+"-01 "+time+"-07";// 第一周的起止时间
							beginAndend2=time+"-08 "+time+"-14";// 第二周的起止时间
							beginAndend3=time+"-15 "+time+"-21";// 第三周的起止时间
							beginAndend4=time+"-22 "+time+"-28";// 第四周的起止时间
							beginAndend5=time+"-29 "+time+"-31";// 第五周的起止时间
							break;
							
						case "11"://十一月份
							count=5;
							beginAndend1=time+"-01 "+time+"-07";// 第一周的起止时间
							beginAndend2=time+"-08 "+time+"-14";// 第二周的起止时间
							beginAndend3=time+"-15 "+time+"-21";// 第三周的起止时间
							beginAndend4=time+"-22 "+time+"-28";// 第四周的起止时间
							beginAndend5=time+"-29 "+time+"-30";// 第五周的起止时间
							break;
							
						case "12"://十二月份
							count=5;
							beginAndend1=time+"-01 "+time+"-07";// 第一周的起止时间
							beginAndend2=time+"-08 "+time+"-14";// 第二周的起止时间
							beginAndend3=time+"-15 "+time+"-21";// 第三周的起止时间
							beginAndend4=time+"-22 "+time+"-28";// 第四周的起止时间
							beginAndend5=time+"-29 "+time+"-31";// 第五周的起止时间
							break;
						default:
							break;
					}
				}
				
				//=================================如果月份的第一天是星期二====================
				if(firstDay==2){//如果月份的第一天是星期二
					switch (month) {
						case "01"://一月份
							count=5;
							beginAndend1=time+"-01 "+time+"-06";// 第一周的起止时间
							beginAndend2=time+"-07 "+time+"-13";// 第二周的起止时间
							beginAndend3=time+"-14 "+time+"-20";// 第三周的起止时间
							beginAndend4=time+"-21 "+time+"-27";// 第四周的起止时间
							beginAndend5=time+"-28 "+time+"-31";// 第五周的起止时间
							break;
							
						case "02"://二月份
							if((year%100==0 && year%400==0) || (year%100!=0 && year%4==0)){//闰年29天
								count=5;
								beginAndend1=time+"-01 "+time+"-06";// 第一周的起止时间
								beginAndend2=time+"-07 "+time+"-13";// 第二周的起止时间
								beginAndend3=time+"-14 "+time+"-20";// 第三周的起止时间
								beginAndend4=time+"-21 "+time+"-27";// 第四周的起止时间
								beginAndend5=time+"-28 "+time+"-29";// 第五周的起止时间
								break;
							}else{//平年28天
								count=5;
								beginAndend1=time+"-01 "+time+"-06";// 第一周的起止时间
								beginAndend2=time+"-07 "+time+"-13";// 第二周的起止时间
								beginAndend3=time+"-14 "+time+"-20";// 第三周的起止时间
								beginAndend4=time+"-21 "+time+"-27";// 第四周的起止时间
								beginAndend5=time+"-28 "+time+"-28";// 第五周的起止时间
								break;
							}
							
						case "03"://三月份
							count=5;
							beginAndend1=time+"-01 "+time+"-06";// 第一周的起止时间
							beginAndend2=time+"-07 "+time+"-13";// 第二周的起止时间
							beginAndend3=time+"-14 "+time+"-20";// 第三周的起止时间
							beginAndend4=time+"-21 "+time+"-27";// 第四周的起止时间
							beginAndend5=time+"-28 "+time+"-31";// 第五周的起止时间
							break;
							
						case "04"://四月份
							count=5;
							beginAndend1=time+"-01 "+time+"-06";// 第一周的起止时间
							beginAndend2=time+"-07 "+time+"-13";// 第二周的起止时间
							beginAndend3=time+"-14 "+time+"-20";// 第三周的起止时间
							beginAndend4=time+"-21 "+time+"-27";// 第四周的起止时间
							beginAndend5=time+"-28 "+time+"-30";// 第五周的起止时间
							break;
							
						case "05"://五月份
							count=5;
							beginAndend1=time+"-01 "+time+"-06";// 第一周的起止时间
							beginAndend2=time+"-07 "+time+"-13";// 第二周的起止时间
							beginAndend3=time+"-14 "+time+"-20";// 第三周的起止时间
							beginAndend4=time+"-21 "+time+"-27";// 第四周的起止时间
							beginAndend5=time+"-28 "+time+"-31";// 第五周的起止时间
							break;
							
						case "06"://六月份
							count=5;
							beginAndend1=time+"-01 "+time+"-06";// 第一周的起止时间
							beginAndend2=time+"-07 "+time+"-13";// 第二周的起止时间
							beginAndend3=time+"-14 "+time+"-20";// 第三周的起止时间
							beginAndend4=time+"-21 "+time+"-27";// 第四周的起止时间
							beginAndend5=time+"-28 "+time+"-30";// 第五周的起止时间
							break;
							
						case "07"://七月份
							count=5;
							beginAndend1=time+"-01 "+time+"-06";// 第一周的起止时间
							beginAndend2=time+"-07 "+time+"-13";// 第二周的起止时间
							beginAndend3=time+"-14 "+time+"-20";// 第三周的起止时间
							beginAndend4=time+"-21 "+time+"-27";// 第四周的起止时间
							beginAndend5=time+"-28 "+time+"-31";// 第五周的起止时间
							break;
							
						case "08"://八月份
							count=5;
							beginAndend1=time+"-01 "+time+"-06";// 第一周的起止时间
							beginAndend2=time+"-07 "+time+"-13";// 第二周的起止时间
							beginAndend3=time+"-14 "+time+"-20";// 第三周的起止时间
							beginAndend4=time+"-21 "+time+"-27";// 第四周的起止时间
							beginAndend5=time+"-28 "+time+"-31";// 第五周的起止时间
							break;
							
						case "09"://九月份
							count=5;
							beginAndend1=time+"-01 "+time+"-06";// 第一周的起止时间
							beginAndend2=time+"-07 "+time+"-13";// 第二周的起止时间
							beginAndend3=time+"-14 "+time+"-20";// 第三周的起止时间
							beginAndend4=time+"-21 "+time+"-27";// 第四周的起止时间
							beginAndend5=time+"-28 "+time+"-30";// 第五周的起止时间
							break;
							
						case "10"://十月份
							count=5;
							beginAndend1=time+"-01 "+time+"-06";// 第一周的起止时间
							beginAndend2=time+"-07 "+time+"-13";// 第二周的起止时间
							beginAndend3=time+"-14 "+time+"-20";// 第三周的起止时间
							beginAndend4=time+"-21 "+time+"-27";// 第四周的起止时间
							beginAndend5=time+"-28 "+time+"-31";// 第五周的起止时间
							break;
							
						case "11"://十一月份
							count=5;
							beginAndend1=time+"-01 "+time+"-06";// 第一周的起止时间
							beginAndend2=time+"-07 "+time+"-13";// 第二周的起止时间
							beginAndend3=time+"-14 "+time+"-20";// 第三周的起止时间
							beginAndend4=time+"-21 "+time+"-27";// 第四周的起止时间
							beginAndend5=time+"-28 "+time+"-30";// 第五周的起止时间
							break;
							
						case "12"://十二月份
							count=5;
							beginAndend1=time+"-01 "+time+"-06";// 第一周的起止时间
							beginAndend2=time+"-07 "+time+"-13";// 第二周的起止时间
							beginAndend3=time+"-14 "+time+"-20";// 第三周的起止时间
							beginAndend4=time+"-21 "+time+"-27";// 第四周的起止时间
							beginAndend5=time+"-28 "+time+"-31";// 第五周的起止时间
							break;
						default:
							break;
					}
				}
				
				//=================================如果月份的第一天是星期三====================
				if(firstDay==3){//如果月份的第一天是星期三
					switch (month) {
						case "01"://一月份
							count=5;
							beginAndend1=time+"-01 "+time+"-05";// 第一周的起止时间
							beginAndend2=time+"-06 "+time+"-12";// 第二周的起止时间
							beginAndend3=time+"-13 "+time+"-19";// 第三周的起止时间
							beginAndend4=time+"-20 "+time+"-26";// 第四周的起止时间
							beginAndend5=time+"-27 "+time+"-31";// 第五周的起止时间
							break;
							
						case "02"://二月份
							if((year%100==0 && year%400==0) || (year%100!=0 && year%4==0)){//闰年29天
								count=5;
								beginAndend1=time+"-01 "+time+"-05";// 第一周的起止时间
								beginAndend2=time+"-06 "+time+"-12";// 第二周的起止时间
								beginAndend3=time+"-13 "+time+"-19";// 第三周的起止时间
								beginAndend4=time+"-20 "+time+"-26";// 第四周的起止时间
								beginAndend5=time+"-27 "+time+"-29";// 第五周的起止时间
								break;
							}else{//平年28天
								count=5;
								beginAndend1=time+"-01 "+time+"-05";// 第一周的起止时间
								beginAndend2=time+"-06 "+time+"-12";// 第二周的起止时间
								beginAndend3=time+"-13 "+time+"-19";// 第三周的起止时间
								beginAndend4=time+"-20 "+time+"-26";// 第四周的起止时间
								beginAndend5=time+"-27 "+time+"-28";// 第五周的起止时间
								break;
							}
							
						case "03"://三月份
							count=5;
							beginAndend1=time+"-01 "+time+"-05";// 第一周的起止时间
							beginAndend2=time+"-06 "+time+"-12";// 第二周的起止时间
							beginAndend3=time+"-13 "+time+"-19";// 第三周的起止时间
							beginAndend4=time+"-20 "+time+"-26";// 第四周的起止时间
							beginAndend5=time+"-27 "+time+"-31";// 第五周的起止时间
							break;
							
						case "04"://四月份
							count=5;
							beginAndend1=time+"-01 "+time+"-05";// 第一周的起止时间
							beginAndend2=time+"-06 "+time+"-12";// 第二周的起止时间
							beginAndend3=time+"-13 "+time+"-19";// 第三周的起止时间
							beginAndend4=time+"-20 "+time+"-26";// 第四周的起止时间
							beginAndend5=time+"-27 "+time+"-30";// 第五周的起止时间
							break;
							
						case "05"://五月份
							count=5;
							beginAndend1=time+"-01 "+time+"-05";// 第一周的起止时间
							beginAndend2=time+"-06 "+time+"-12";// 第二周的起止时间
							beginAndend3=time+"-13 "+time+"-19";// 第三周的起止时间
							beginAndend4=time+"-20 "+time+"-26";// 第四周的起止时间
							beginAndend5=time+"-27 "+time+"-31";// 第五周的起止时间
							break;
							
						case "06"://六月份
							count=5;
							beginAndend1=time+"-01 "+time+"-05";// 第一周的起止时间
							beginAndend2=time+"-06 "+time+"-12";// 第二周的起止时间
							beginAndend3=time+"-13 "+time+"-19";// 第三周的起止时间
							beginAndend4=time+"-20 "+time+"-26";// 第四周的起止时间
							beginAndend5=time+"-27 "+time+"-30";// 第五周的起止时间
							break;
							
						case "07"://七月份
							count=5;
							beginAndend1=time+"-01 "+time+"-05";// 第一周的起止时间
							beginAndend2=time+"-06 "+time+"-12";// 第二周的起止时间
							beginAndend3=time+"-13 "+time+"-19";// 第三周的起止时间
							beginAndend4=time+"-20 "+time+"-26";// 第四周的起止时间
							beginAndend5=time+"-27 "+time+"-31";// 第五周的起止时间
							break;
							
						case "08"://八月份
							count=5;
							beginAndend1=time+"-01 "+time+"-05";// 第一周的起止时间
							beginAndend2=time+"-06 "+time+"-12";// 第二周的起止时间
							beginAndend3=time+"-13 "+time+"-19";// 第三周的起止时间
							beginAndend4=time+"-20 "+time+"-26";// 第四周的起止时间
							beginAndend5=time+"-27 "+time+"-31";// 第五周的起止时间
							break;
							
						case "09"://九月份
							count=5;
							beginAndend1=time+"-01 "+time+"-05";// 第一周的起止时间
							beginAndend2=time+"-06 "+time+"-12";// 第二周的起止时间
							beginAndend3=time+"-13 "+time+"-19";// 第三周的起止时间
							beginAndend4=time+"-20 "+time+"-26";// 第四周的起止时间
							beginAndend5=time+"-27 "+time+"-30";// 第五周的起止时间
							break;
							
						case "10"://十月份
							count=5;
							beginAndend1=time+"-01 "+time+"-05";// 第一周的起止时间
							beginAndend2=time+"-06 "+time+"-12";// 第二周的起止时间
							beginAndend3=time+"-13 "+time+"-19";// 第三周的起止时间
							beginAndend4=time+"-20 "+time+"-26";// 第四周的起止时间
							beginAndend5=time+"-27 "+time+"-31";// 第五周的起止时间
							break;
							
						case "11"://十一月份
							count=5;
							beginAndend1=time+"-01 "+time+"-05";// 第一周的起止时间
							beginAndend2=time+"-06 "+time+"-12";// 第二周的起止时间
							beginAndend3=time+"-13 "+time+"-19";// 第三周的起止时间
							beginAndend4=time+"-20 "+time+"-26";// 第四周的起止时间
							beginAndend5=time+"-27 "+time+"-30";// 第五周的起止时间
							break;
							
						case "12"://十二月份
							count=5;
							beginAndend1=time+"-01 "+time+"-05";// 第一周的起止时间
							beginAndend2=time+"-06 "+time+"-12";// 第二周的起止时间
							beginAndend3=time+"-13 "+time+"-19";// 第三周的起止时间
							beginAndend4=time+"-20 "+time+"-26";// 第四周的起止时间
							beginAndend5=time+"-27 "+time+"-31";// 第五周的起止时间
							break;
						default:
							break;
					}
				}
				
				//=================================如果月份的第一天是星期四====================
				if(firstDay==4){//如果月份的第一天是星期四
					switch (month) {
						case "01"://一月份
							count=5;
							beginAndend1=time+"-01 "+time+"-04";// 第一周的起止时间
							beginAndend2=time+"-05 "+time+"-11";// 第二周的起止时间
							beginAndend3=time+"-12 "+time+"-18";// 第三周的起止时间
							beginAndend4=time+"-19 "+time+"-25";// 第四周的起止时间
							beginAndend5=time+"-26 "+time+"-31";// 第五周的起止时间
							break;
							
						case "02"://二月份
							if((year%100==0 && year%400==0) || (year%100!=0 && year%4==0)){//闰年29天
								count=5;
								beginAndend1=time+"-01 "+time+"-04";// 第一周的起止时间
								beginAndend2=time+"-05 "+time+"-11";// 第二周的起止时间
								beginAndend3=time+"-12 "+time+"-18";// 第三周的起止时间
								beginAndend4=time+"-19 "+time+"-25";// 第四周的起止时间
								beginAndend5=time+"-26 "+time+"-29";// 第五周的起止时间
								break;
							}else{//平年28天
								count=5;
								beginAndend1=time+"-01 "+time+"-04";// 第一周的起止时间
								beginAndend2=time+"-05 "+time+"-11";// 第二周的起止时间
								beginAndend3=time+"-12 "+time+"-18";// 第三周的起止时间
								beginAndend4=time+"-19 "+time+"-25";// 第四周的起止时间
								beginAndend5=time+"-26 "+time+"-28";// 第五周的起止时间
								break;
							}
							
						case "03"://三月份
							count=5;
							beginAndend1=time+"-01 "+time+"-04";// 第一周的起止时间
							beginAndend2=time+"-05 "+time+"-11";// 第二周的起止时间
							beginAndend3=time+"-12 "+time+"-18";// 第三周的起止时间
							beginAndend4=time+"-19 "+time+"-25";// 第四周的起止时间
							beginAndend5=time+"-26 "+time+"-31";// 第五周的起止时间
							break;
							
						case "04"://四月份
							count=5;
							beginAndend1=time+"-01 "+time+"-04";// 第一周的起止时间
							beginAndend2=time+"-05 "+time+"-11";// 第二周的起止时间
							beginAndend3=time+"-12 "+time+"-18";// 第三周的起止时间
							beginAndend4=time+"-19 "+time+"-25";// 第四周的起止时间
							beginAndend5=time+"-26 "+time+"-30";// 第五周的起止时间
							break;
							
						case "05"://五月份
							count=5;
							beginAndend1=time+"-01 "+time+"-04";// 第一周的起止时间
							beginAndend2=time+"-05 "+time+"-11";// 第二周的起止时间
							beginAndend3=time+"-12 "+time+"-18";// 第三周的起止时间
							beginAndend4=time+"-19 "+time+"-25";// 第四周的起止时间
							beginAndend5=time+"-26 "+time+"-31";// 第五周的起止时间
							break;
							
						case "06"://六月份
							count=5;
							beginAndend1=time+"-01 "+time+"-04";// 第一周的起止时间
							beginAndend2=time+"-05 "+time+"-11";// 第二周的起止时间
							beginAndend3=time+"-12 "+time+"-18";// 第三周的起止时间
							beginAndend4=time+"-19 "+time+"-25";// 第四周的起止时间
							beginAndend5=time+"-26 "+time+"-30";// 第五周的起止时间
							break;
							
						case "07"://七月份
							count=5;
							beginAndend1=time+"-01 "+time+"-04";// 第一周的起止时间
							beginAndend2=time+"-05 "+time+"-11";// 第二周的起止时间
							beginAndend3=time+"-12 "+time+"-18";// 第三周的起止时间
							beginAndend4=time+"-19 "+time+"-25";// 第四周的起止时间
							beginAndend5=time+"-26 "+time+"-31";// 第五周的起止时间
							break;
							
						case "08"://八月份
							count=5;
							beginAndend1=time+"-01 "+time+"-04";// 第一周的起止时间
							beginAndend2=time+"-05 "+time+"-11";// 第二周的起止时间
							beginAndend3=time+"-12 "+time+"-18";// 第三周的起止时间
							beginAndend4=time+"-19 "+time+"-25";// 第四周的起止时间
							beginAndend5=time+"-26 "+time+"-31";// 第五周的起止时间
							break;
							
						case "09"://九月份
							count=5;
							beginAndend1=time+"-01 "+time+"-04";// 第一周的起止时间
							beginAndend2=time+"-05 "+time+"-11";// 第二周的起止时间
							beginAndend3=time+"-12 "+time+"-18";// 第三周的起止时间
							beginAndend4=time+"-19 "+time+"-25";// 第四周的起止时间
							beginAndend5=time+"-26 "+time+"-30";// 第五周的起止时间
							break;
							
						case "10"://十月份
							count=5;
							beginAndend1=time+"-01 "+time+"-04";// 第一周的起止时间
							beginAndend2=time+"-05 "+time+"-11";// 第二周的起止时间
							beginAndend3=time+"-12 "+time+"-18";// 第三周的起止时间
							beginAndend4=time+"-19 "+time+"-25";// 第四周的起止时间
							beginAndend5=time+"-26 "+time+"-31";// 第五周的起止时间
							break;
							
						case "11"://十一月份
							count=5;
							beginAndend1=time+"-01 "+time+"-04";// 第一周的起止时间
							beginAndend2=time+"-05 "+time+"-11";// 第二周的起止时间
							beginAndend3=time+"-12 "+time+"-18";// 第三周的起止时间
							beginAndend4=time+"-19 "+time+"-25";// 第四周的起止时间
							beginAndend5=time+"-26 "+time+"-30";// 第五周的起止时间
							break;
							
						case "12"://十二月份
							count=5;
							beginAndend1=time+"-01 "+time+"-04";// 第一周的起止时间
							beginAndend2=time+"-05 "+time+"-11";// 第二周的起止时间
							beginAndend3=time+"-12 "+time+"-18";// 第三周的起止时间
							beginAndend4=time+"-19 "+time+"-25";// 第四周的起止时间
							beginAndend5=time+"-26 "+time+"-31";// 第五周的起止时间
							break;
						default:
							break;
					}
				}
				
				//=================================如果月份的第一天是星期五====================
				if(firstDay==5){//如果月份的第一天是星期五
					switch (month) {
						case "01"://一月份
							count=5;
							beginAndend1=time+"-01 "+time+"-03";// 第一周的起止时间
							beginAndend2=time+"-04 "+time+"-10";// 第二周的起止时间
							beginAndend3=time+"-11 "+time+"-17";// 第三周的起止时间
							beginAndend4=time+"-18 "+time+"-24";// 第四周的起止时间
							beginAndend5=time+"-25 "+time+"-31";// 第五周的起止时间
							break;
							
						case "02"://二月份
							if((year%100==0 && year%400==0) || (year%100!=0 && year%4==0)){//闰年29天
								count=5;
								beginAndend1=time+"-01 "+time+"-03";// 第一周的起止时间
								beginAndend2=time+"-04 "+time+"-10";// 第二周的起止时间
								beginAndend3=time+"-11 "+time+"-17";// 第三周的起止时间
								beginAndend4=time+"-18 "+time+"-24";// 第四周的起止时间
								beginAndend5=time+"-25 "+time+"-29";// 第五周的起止时间
								break;
							}else{//平年28天
								count=5;
								beginAndend1=time+"-01 "+time+"-03";// 第一周的起止时间
								beginAndend2=time+"-04 "+time+"-10";// 第二周的起止时间
								beginAndend3=time+"-11 "+time+"-17";// 第三周的起止时间
								beginAndend4=time+"-18 "+time+"-24";// 第四周的起止时间
								beginAndend5=time+"-25 "+time+"-28";// 第五周的起止时间
								break;
							}
							
						case "03"://三月份
							count=5;
							beginAndend1=time+"-01 "+time+"-03";// 第一周的起止时间
							beginAndend2=time+"-04 "+time+"-10";// 第二周的起止时间
							beginAndend3=time+"-11 "+time+"-17";// 第三周的起止时间
							beginAndend4=time+"-18 "+time+"-24";// 第四周的起止时间
							beginAndend5=time+"-25 "+time+"-31";// 第五周的起止时间
							break;
							
						case "04"://四月份
							count=5;
							beginAndend1=time+"-01 "+time+"-03";// 第一周的起止时间
							beginAndend2=time+"-04 "+time+"-10";// 第二周的起止时间
							beginAndend3=time+"-11 "+time+"-17";// 第三周的起止时间
							beginAndend4=time+"-18 "+time+"-24";// 第四周的起止时间
							beginAndend5=time+"-25 "+time+"-30";// 第五周的起止时间
							break;
							
						case "05"://五月份
							count=5;
							beginAndend1=time+"-01 "+time+"-03";// 第一周的起止时间
							beginAndend2=time+"-04 "+time+"-10";// 第二周的起止时间
							beginAndend3=time+"-11 "+time+"-17";// 第三周的起止时间
							beginAndend4=time+"-18 "+time+"-24";// 第四周的起止时间
							beginAndend5=time+"-25 "+time+"-31";// 第五周的起止时间
							break;
							
						case "06"://六月份
							count=5;
							beginAndend1=time+"-01 "+time+"-03";// 第一周的起止时间
							beginAndend2=time+"-04 "+time+"-10";// 第二周的起止时间
							beginAndend3=time+"-11 "+time+"-17";// 第三周的起止时间
							beginAndend4=time+"-18 "+time+"-24";// 第四周的起止时间
							beginAndend5=time+"-25 "+time+"-30";// 第五周的起止时间
							break;
							
						case "07"://七月份
							count=5;
							beginAndend1=time+"-01 "+time+"-03";// 第一周的起止时间
							beginAndend2=time+"-04 "+time+"-10";// 第二周的起止时间
							beginAndend3=time+"-11 "+time+"-17";// 第三周的起止时间
							beginAndend4=time+"-18 "+time+"-24";// 第四周的起止时间
							beginAndend5=time+"-25 "+time+"-31";// 第五周的起止时间
							break;
							
						case "08"://八月份
							count=5;
							beginAndend1=time+"-01 "+time+"-03";// 第一周的起止时间
							beginAndend2=time+"-04 "+time+"-10";// 第二周的起止时间
							beginAndend3=time+"-11 "+time+"-17";// 第三周的起止时间
							beginAndend4=time+"-18 "+time+"-24";// 第四周的起止时间
							beginAndend5=time+"-25 "+time+"-31";// 第五周的起止时间
							break;
							
						case "09"://九月份
							count=5;
							beginAndend1=time+"-01 "+time+"-03";// 第一周的起止时间
							beginAndend2=time+"-04 "+time+"-10";// 第二周的起止时间
							beginAndend3=time+"-11 "+time+"-17";// 第三周的起止时间
							beginAndend4=time+"-18 "+time+"-24";// 第四周的起止时间
							beginAndend5=time+"-25 "+time+"-30";// 第五周的起止时间
							break;
							
						case "10"://十月份
							count=5;
							beginAndend1=time+"-01 "+time+"-03";// 第一周的起止时间
							beginAndend2=time+"-04 "+time+"-10";// 第二周的起止时间
							beginAndend3=time+"-11 "+time+"-17";// 第三周的起止时间
							beginAndend4=time+"-18 "+time+"-24";// 第四周的起止时间
							beginAndend5=time+"-25 "+time+"-31";// 第五周的起止时间
							break;
							
						case "11"://十一月份
							count=5;
							beginAndend1=time+"-01 "+time+"-03";// 第一周的起止时间
							beginAndend2=time+"-04 "+time+"-10";// 第二周的起止时间
							beginAndend3=time+"-11 "+time+"-17";// 第三周的起止时间
							beginAndend4=time+"-18 "+time+"-24";// 第四周的起止时间
							beginAndend5=time+"-25 "+time+"-30";// 第五周的起止时间
							break;
							
						case "12"://十二月份
							count=5;
							beginAndend1=time+"-01 "+time+"-03";// 第一周的起止时间
							beginAndend2=time+"-04 "+time+"-10";// 第二周的起止时间
							beginAndend3=time+"-11 "+time+"-17";// 第三周的起止时间
							beginAndend4=time+"-18 "+time+"-24";// 第四周的起止时间
							beginAndend5=time+"-25 "+time+"-31";// 第五周的起止时间
							break;
						default:
							break;
					}
				}
				
				//=================================如果月份的第一天是星期六====================
				if(firstDay==6){//如果月份的第一天是星期六
					switch (month) {
						case "01"://一月份
							count=6;
							beginAndend1=time+"-01 "+time+"-02";// 第一周的起止时间
							beginAndend2=time+"-03 "+time+"-09";// 第二周的起止时间
							beginAndend3=time+"-10 "+time+"-16";// 第三周的起止时间
							beginAndend4=time+"-17 "+time+"-23";// 第四周的起止时间
							beginAndend5=time+"-24 "+time+"-30";// 第五周的起止时间
							beginAndend6=time+"-31 "+time+"-31";// 第六周的起止时间
							break;
							
						case "02"://二月份
							if((year%100==0 && year%400==0) || (year%100!=0 && year%4==0)){//闰年29天
								count=5;
								beginAndend1=time+"-01 "+time+"-02";// 第一周的起止时间
								beginAndend2=time+"-03 "+time+"-09";// 第二周的起止时间
								beginAndend3=time+"-10 "+time+"-16";// 第三周的起止时间
								beginAndend4=time+"-17 "+time+"-23";// 第四周的起止时间
								beginAndend5=time+"-24 "+time+"-29";// 第五周的起止时间
								break;
							}else{//平年28天
								count=5;
								beginAndend1=time+"-01 "+time+"-02";// 第一周的起止时间
								beginAndend2=time+"-03 "+time+"-09";// 第二周的起止时间
								beginAndend3=time+"-10 "+time+"-16";// 第三周的起止时间
								beginAndend4=time+"-17 "+time+"-23";// 第四周的起止时间
								beginAndend5=time+"-24 "+time+"-28";// 第五周的起止时间
								break;
							}
							
						case "03"://三月份
							count=6;
							beginAndend1=time+"-01 "+time+"-02";// 第一周的起止时间
							beginAndend2=time+"-03 "+time+"-09";// 第二周的起止时间
							beginAndend3=time+"-10 "+time+"-16";// 第三周的起止时间
							beginAndend4=time+"-17 "+time+"-23";// 第四周的起止时间
							beginAndend5=time+"-24 "+time+"-30";// 第五周的起止时间
							beginAndend6=time+"-31 "+time+"-31";// 第六周的起止时间
							break;
							
						case "04"://四月份
							count=5;
							beginAndend1=time+"-01 "+time+"-02";// 第一周的起止时间
							beginAndend2=time+"-03 "+time+"-09";// 第二周的起止时间
							beginAndend3=time+"-10 "+time+"-16";// 第三周的起止时间
							beginAndend4=time+"-17 "+time+"-23";// 第四周的起止时间
							beginAndend5=time+"-24 "+time+"-30";// 第五周的起止时间
							break;
							
						case "05"://五月份
							count=6;
							beginAndend1=time+"-01 "+time+"-02";// 第一周的起止时间
							beginAndend2=time+"-03 "+time+"-09";// 第二周的起止时间
							beginAndend3=time+"-10 "+time+"-16";// 第三周的起止时间
							beginAndend4=time+"-17 "+time+"-23";// 第四周的起止时间
							beginAndend5=time+"-24 "+time+"-30";// 第五周的起止时间
							beginAndend6=time+"-31 "+time+"-31";// 第六周的起止时间
							break;
							
						case "06"://六月份
							count=5;
							beginAndend1=time+"-01 "+time+"-02";// 第一周的起止时间
							beginAndend2=time+"-03 "+time+"-09";// 第二周的起止时间
							beginAndend3=time+"-10 "+time+"-16";// 第三周的起止时间
							beginAndend4=time+"-17 "+time+"-23";// 第四周的起止时间
							beginAndend5=time+"-24 "+time+"-30";// 第五周的起止时间
							break;
							
						case "07"://七月份
							count=6;
							beginAndend1=time+"-01 "+time+"-02";// 第一周的起止时间
							beginAndend2=time+"-03 "+time+"-09";// 第二周的起止时间
							beginAndend3=time+"-10 "+time+"-16";// 第三周的起止时间
							beginAndend4=time+"-17 "+time+"-23";// 第四周的起止时间
							beginAndend5=time+"-24 "+time+"-30";// 第五周的起止时间
							beginAndend6=time+"-31 "+time+"-31";// 第六周的起止时间
							break;
							
						case "08"://八月份
							count=6;
							beginAndend1=time+"-01 "+time+"-02";// 第一周的起止时间
							beginAndend2=time+"-03 "+time+"-09";// 第二周的起止时间
							beginAndend3=time+"-10 "+time+"-16";// 第三周的起止时间
							beginAndend4=time+"-17 "+time+"-23";// 第四周的起止时间
							beginAndend5=time+"-24 "+time+"-30";// 第五周的起止时间
							beginAndend6=time+"-31 "+time+"-31";// 第六周的起止时间
							break;
							
						case "09"://九月份
							count=5;
							beginAndend1=time+"-01 "+time+"-02";// 第一周的起止时间
							beginAndend2=time+"-03 "+time+"-09";// 第二周的起止时间
							beginAndend3=time+"-10 "+time+"-16";// 第三周的起止时间
							beginAndend4=time+"-17 "+time+"-23";// 第四周的起止时间
							beginAndend5=time+"-24 "+time+"-30";// 第五周的起止时间
							break;
							
						case "10"://十月份
							count=6;
							beginAndend1=time+"-01 "+time+"-02";// 第一周的起止时间
							beginAndend2=time+"-03 "+time+"-09";// 第二周的起止时间
							beginAndend3=time+"-10 "+time+"-16";// 第三周的起止时间
							beginAndend4=time+"-17 "+time+"-23";// 第四周的起止时间
							beginAndend5=time+"-24 "+time+"-30";// 第五周的起止时间
							beginAndend6=time+"-31 "+time+"-31";// 第六周的起止时间
							break;
							
						case "11"://十一月份
							count=5;
							beginAndend1=time+"-01 "+time+"-02";// 第一周的起止时间
							beginAndend2=time+"-03 "+time+"-09";// 第二周的起止时间
							beginAndend3=time+"-10 "+time+"-16";// 第三周的起止时间
							beginAndend4=time+"-17 "+time+"-23";// 第四周的起止时间
							beginAndend5=time+"-24 "+time+"-30";// 第五周的起止时间
							break;
							
						case "12"://十二月份
							count=6;
							beginAndend1=time+"-01 "+time+"-02";// 第一周的起止时间
							beginAndend2=time+"-03 "+time+"-09";// 第二周的起止时间
							beginAndend3=time+"-10 "+time+"-16";// 第三周的起止时间
							beginAndend4=time+"-17 "+time+"-23";// 第四周的起止时间
							beginAndend5=time+"-24 "+time+"-30";// 第五周的起止时间
							beginAndend6=time+"-31 "+time+"-31";// 第六周的起止时间
							break;
						default:
							break;
					}
				}
		
				if(count==4){
					map.put(1, beginAndend1);
					map.put(2, beginAndend2);
					map.put(3, beginAndend3);
					map.put(4, beginAndend4);
				}
				if(count==5){
					map.put(1, beginAndend1);
					map.put(2, beginAndend2);
					map.put(3, beginAndend3);
					map.put(4, beginAndend4);
					map.put(5, beginAndend5);
				}
				if(count==6){
					map.put(1, beginAndend1);
					map.put(2, beginAndend2);
					map.put(3, beginAndend3);
					map.put(4, beginAndend4);
					map.put(5, beginAndend5);
					map.put(6, beginAndend6);
				}

				if(StringUtils.isNotEmpty(flag)){
					//return getDate(map);
					return getDate1(map);
				}
				System.out.println("======JSON.toJSONString(map)=======:"+ JSON.toJSONString(map));
				return map;
	}

	//返回指定的某年某个月的时间返回，例如：2021-05-01-2021-05-31
	public static Map<Integer,Object> getDate(Map<Integer,Object> map) {
		//System.out.println("======JSON.toJSONString(map)=======:"+ JSON.toJSONString(map));

		Map<Integer,Object> resultMap= Maps.newHashMap();
		String date = "";
		if(!CollectionUtils.isEmpty(map)) {
			List valueList= Arrays.asList(map.values().toArray());
			for (int i = 0; i < valueList.size(); i++) {
				if (i == 0) {
					date = String.valueOf(valueList.get(i)).split(" ")[0];
				}

				if (i == valueList.size() - 1) {
					date += "-";
					date += String.valueOf(valueList.get(i)).split(" ")[1];
				}
			}
			;
			System.out.println("======date=======:" + date);
		}
		resultMap.put(1,date);
		return resultMap;
	}

	//返回指定的某年某个月最后一天，即总天数，例如：31
	public static Map<Integer,Object> getDate1(Map<Integer,Object> map) {
		//System.out.println("======JSON.toJSONString(map)=======:"+ JSON.toJSONString(map));

		Map<Integer,Object> resultMap= Maps.newHashMap();
		int date = 0;
		if(!CollectionUtils.isEmpty(map)) {
			List valueList= Arrays.asList(map.values().toArray());//2021-05-31
			date= Integer.parseInt(String.valueOf(valueList.get(valueList.size() - 1)).split(" ")[1].split("-")[2]);
			System.out.println("======date=======:" + date);
		}
		resultMap.put(1,date);
		return resultMap;
	}
	
	
	/**
     * 根据传入的参数，来对日期区间进行拆分，返回拆分后的日期List
     * @param statisticsType
     * @param map
     * @return
     * @throws ParseException
     * @author lihq 2019-6-24
     * @editor 
     * @editcont
     */
    public static List<String> doDateByStatisticsType(String statisticsType,Map<String, Object> map) throws ParseException{
        List<String> listWeekOrMonth = new ArrayList<String>();
        DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
        String startDate = (String)map.get("startDate");
        String endDate = (String)map.get("endDate");
        Date sDate = dateFormat.parse(startDate);
        Calendar sCalendar = Calendar.getInstance();
        sCalendar.setFirstDayOfWeek(Calendar.MONDAY);
        sCalendar.setTime(sDate);
        Date eDate = dateFormat.parse(endDate);
        Calendar eCalendar = Calendar.getInstance();
        eCalendar.setFirstDayOfWeek(Calendar.MONDAY);
        eCalendar.setTime(eDate);
        boolean bool =true;
        if(statisticsType.equals("week")){
            while(sCalendar.getTime().getTime()<eCalendar.getTime().getTime()){
                if(bool||sCalendar.get(Calendar.DAY_OF_WEEK)==2||sCalendar.get(Calendar.DAY_OF_WEEK)==1){
                    listWeekOrMonth.add(dateFormat.format(sCalendar.getTime()));
                    bool = false;
                }
                sCalendar.add(Calendar.DAY_OF_MONTH, 1);
            }
            listWeekOrMonth.add(dateFormat.format(eCalendar.getTime()));
            if(listWeekOrMonth.size()%2!=0){
                listWeekOrMonth.add(dateFormat.format(eCalendar.getTime()));
            }
        }else{
            while(sCalendar.getTime().getTime()<eCalendar.getTime().getTime()){
                if(bool||sCalendar.get(Calendar.DAY_OF_MONTH)==1||sCalendar.get(Calendar.DAY_OF_MONTH)==sCalendar.getActualMaximum(Calendar.DAY_OF_MONTH)){
                    listWeekOrMonth.add(dateFormat.format(sCalendar.getTime()));
                    bool = false;
                }
                sCalendar.add(Calendar.DAY_OF_MONTH, 1);
            }
            listWeekOrMonth.add(dateFormat.format(eCalendar.getTime()));
            if(listWeekOrMonth.size()%2!=0){
                listWeekOrMonth.add(dateFormat.format(eCalendar.getTime()));
            }
        }
       
        return listWeekOrMonth;
    }
    
	
}
